package ch10_IO流与文件.其他类;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.util.InputMismatchException;
import java.util.Scanner;

/**
 * @author 挚爱之夕
 * @date 2021/8/28 - 08 - 28 - 6:28
 * @Description: ch10.其他类
 * @Version: 1.0
 */
public class ScannerDemo {
    public static void main(String[] args) {
        //从命令行窗口读入数据
        try(Scanner s = new Scanner(System.in)) {//Scanner类实现了Closeable接口
            System.out.print("输入int：");
            System.out.println("-->"+s.nextInt());
            System.out.print("输入long(16进制)：");
            System.out.println("-->"+s.nextLong(16));
            System.out.print("输入float:");
            System.out.println("-->"+s.nextFloat());
            System.out.print("输入字符串：");
            System.out.println("-->"+s.next());
        }catch (InputMismatchException e){
            System.out.println("输入的数据不是指定类型");
        }

        //从文件读入数据
        String src = "E:/Test.txt";
        try(Scanner s = new Scanner(new FileReader(src))){
            s.useDelimiter("\\s*,+\\s*|\\s+");//设置分隔符（逗号、空格、跳格、换行符等 ）
            System.out.print("字符型标记：");
            while(s.hasNext()){ //若有下一个标记
                if(s.hasNext()){
                    System.out.print(s.next()+" ");//读入标记并输出
                }else{
                    s.next();   //否则继续读取（若无此行则陷入死循环）
                }
            }
        }catch (FileNotFoundException e){
            System.out.println("要读取的文件不存在！");
        }
    }
}
